import DynamicTableManager from "@/components/VTable/classes/DynamicTableManager";
import { dynamicTableColGlobalManager } from "@/components/VTable/classes/DynamicTableColGlobalManage";

/** 动态表格管理类 继承并实现一部分原来的管理类 拓展增加了全局数据读取和储存的功能 */
export class DynamicTableStoreManager extends DynamicTableManager {
  constructor(tableCols = [], routeKeyname = "") {
    super(tableCols);

    this.routeKeyname = routeKeyname;
    this.globalStoreManager = dynamicTableColGlobalManager;
  }

  /** @inherits */
  init() {
    super.init();

    const list4store = this.globalStoreManager.get(this.routeKeyname);

    // 如果查询到了实际可用的数组
    if (!!list4store.length) {
      // 直接更新已选择项的数组
      this.selectedList = list4store;
    }
  }

  /** 全局储存所选择项数组 */
  globalSaveSelectedList() {
    // 将双向绑定的，实时更新的所选项数组值，做本地的全局保存
    this.globalStoreManager.set(this.routeKeyname, this.selectedList);
  }
}
